The present invention relates to routers and hosts in an Internet Protocol (IP) network. More particularly, and not by way of limitation, the present invention is directed to a system and method for assigning routers to hosts in IP Version 6 (IPv6) networks.
Currently IPv6 routers use a mechanism called Neighbor Discovery (or Router Discovery) for stateless auto-configuration of IPv6 host systems. The Neighbor Discovery mechanism is described in T. Narten, et al., “Neighbor Discovery for IP Version 6 (IPv6),” RFC 2461, 1998, which is incorporated herein by reference. Nodes (hosts and routers) use the Neighbor Discovery mechanism to determine the link-layer addresses for neighbors known to reside on attached links and to quickly purge cached values that become invalid. The Router Discovery function of the Neighbor Discovery mechanism allows the hosts to solicit or periodically be updated with prefix and default router information. As such, the Router Discovery protocol introduces two types of messages: a) Router Solicitation (RS) messages and b) Router Advertisement (RA) messages. In addition, hosts use Router Discovery to find neighboring routers that are willing to forward packets on their behalf. Finally, nodes use a Neighbor Discovery protocol suite to actively keep track of which neighbors are reachable and which are not, and to detect changed link-layer addresses. When a router or the path to a router fails, a host actively searches for functioning alternates.
Hosts send RS messages in order to prompt routers to generate RA messages quickly. Routers send out Router Advertisements periodically, or in response to a Router Solicitation. The Router Advertisements indicate various router characteristics and whether the router is available as a default router. Hosts populate their Default Router List and Prefix List based on information in the Router Advertisements. A conceptual sending algorithm uses the Prefix List to determine if a destination address is on-link and uses the Default Router List to select a router for off-link destinations. In some network topologies where the host has multiple routers on its Default Router List, the choice of router for an off-link destination is important. In some situations, one router may provide much better performance than another for a given destination. In other situations, choosing the wrong router may result in a failure to communicate.
An extension to the Router Advertisement message for communicating default router preferences and more-specific routes from routers to hosts is described in R. Draves, et al., “Default Router Preferences and More-Specific Routes,” RFC 4191, 2005. This improves the ability of hosts to pick an appropriate router, especially when the host is multi-homed and the routers are on different links. The preference values and specific routes advertised to hosts require administrative configuration; they are not automatically derived from routing tables.
In scalable, high speed networks, more than one IPv6 router may not be adequate to serve the capacity requirements of the servers or hosts on a given local area network (LAN). In this situation, it becomes necessary to provision the routers and divide the host traffic load between them. However, it is not always feasible or cost effective to add load balancing equipment to spread the server load across multiple routers. In this case, the best solution is to divide the servers amongst the multiple routers based on policy or some other provisioning or dimensioning exercise.
The methods disclosed in RFC 2461 and RFC 4191 allow the host to choose which router it uses based on criteria presented in the RA messages. Using these methods, however, a disproportionate number of hosts may choose the same router to serve as their default router. A finer granularity and stricter control is needed while maintaining the auto-configuration from the host point of view
It would be advantageous to have a system and method for assigning routers to hosts that overcomes the disadvantages of the prior art. The present invention provides such a system and method.